package com.tiancheng.trade.settlement.model.payment;

import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;

/**
 * 清分文件指令明细表
 *
 * @author kellen
 * @date 2024-12-09 16:45
 */
@TableName(value = "settle_detail")
@Data
@NoArgsConstructor
public class PaymentSettleDetail implements Serializable {

    private Long id;

    /**
     * 商户编号
     */
    private String merchantCode;

    /**
     * 划付-企业用户号
     */
    private String apprEnterpriseCode;

    /**
     * 划付-文件名
     */
    private String apprFileName;

    /**
     * 划付-指令ID
     */
    private String apprId;

    /**
     * 划付-金额类型：0=固定金额
     */
    private String apprCurrencyType;
    /**
     * 应划付金额
     */
    private Long targetApprAmount;
    /**
     * 退款金额
     */
    private Long refundAmount;
    /**
     * 划付-金额
     */
    private Long apprAmount;

    /**
     * 划付-附言，最长30字符，只允许使用数字、字母、汉字、空格以及“-”
     */
    private String apprDesc;

    /**
     * 划付-状态：ING=划付中；SUCCESS=划付成功；FAIL=划付失败
     */
    private String apprStatus;

    /**
     * 划付-失败原因
     */
    private String apprFailReason;

    /**
     * 分账-企业用户号
     */
    private String distEnterpriseCode;

    /**
     * 分账-文件名
     */
    private String distFileName;

    /**
     * 分账-指令ID
     */
    private String distId;

    /**
     * 分账-金额类型：0=固定金额
     */
    private String distCurrencyType;
    /**
     * 应分账金额
     */
    private Long targetDistAmount;
    /**
     * 退款返还的分账金额
     */
    private Long refundDistAmount;

    /**
     * 分账-金额
     */
    private Long distAmount;

    /**
     * 分账-收款人名
     */
    private String distReceiptName;

    /**
     * 分账-开户行名称
     */
    private String distBankName;

    /**
     * 分账-开户行行号，行号为且仅能为12位
     */
    private String distBankCode;

    /**
     * 分账-开户行账号，数字、字母或横线(横线在中间 0 或 1 个)
     */
    private String distBankAccount;

    /**
     * 分账-附言，最长30字符，只允许使用数字、字母、汉字、空格以及“-”
     */
    private String distDesc;

    /**
     * 分账-状态：ING=分账中；SUCCESS=分账成功；FAIL=分账失败
     */
    private String distStatus;

    /**
     * 分账-失败原因
     */
    private String distFailReason;

    private Date createTime;

    private Date updateTime;

}